// import { saveAs } from 'file-saver'
// import * as XLSX from 'xlsx'
// import XLSXStyle from "xlsx-style-vite"

// function s2ab(s) {
//   var buf = new ArrayBuffer(s.length);
//   var view = new Uint8Array(buf);
//   for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
//   return buf;
// }

// export function exportToExcel(idSelector, fileName, titleNum = 3, baseinfo = [{ "username": "zhansgasn" }]) {

//   const xlsxParam = { raw: true };


//   let table = document.querySelector(idSelector).cloneNode(true);


//   if (table.querySelector('.el-table__fixed-right')) {
//     table.removeChild(table.querySelector('.el-table__fixed-right'));
//   }
//   if (table.querySelector('.el-table__fixed')) {
//     table.removeChild(table.querySelector('.el-table__fixed'));
//   }


//   const wb = XLSX.utils.table_to_book(table, xlsxParam);


//   let range = XLSX.utils.decode_range(wb.Sheets['Sheet1']['!ref']);
//   let cWidth = [];

//   XLSX.utils.sheet_add_aoa(wb.Sheets['Sheet1'], [[]], { origin: 'A1' });


//   for (let R = range.e.r; R >= range.s.r; R--) {
//     for (let C = range.s.c; C <= range.e.c; C++) {
//       let oldCell = XLSX.utils.encode_cell({ c: C, r: R });
//       let newCell = XLSX.utils.encode_cell({ c: C, r: R + 1 });
//       if (wb.Sheets['Sheet1'][oldCell]) {
//         wb.Sheets['Sheet1'][newCell] = wb.Sheets['Sheet1'][oldCell];
//       }
//     }
//   }


//   range.e.r++;
//   wb.Sheets['Sheet1']['!ref'] = XLSX.utils.encode_range(range);


//   wb.Sheets['Sheet1']['!merges'] = [{
//     s: { r: 0, c: 0 },
//     e: { r: 0, c: range.e.c }
//   }];


//   const defaultRowHeight = 20;
//   const titleRowHeight = 60;
//   const rows = [];

//   for (let R = 0; R <= range.e.r; R++) {
//     if (R === 0) {

//       rows.push({ hpx: titleRowHeight });
//     } else {

//       rows.push({ hpx: defaultRowHeight });
//     }
//   }

//   wb.Sheets['Sheet1']['!rows'] = rows;


//   let newCell = XLSX.utils.encode_cell({ c: 0, r: 0 });
//   wb.Sheets['Sheet1'][newCell] = {
//     v: `${baseinfo}`,
//     t: 's',
//     s: {
//       alignment: { horizontal: 'center', vertical: 'center' },
//       font: { bold: true, sz: 14 },
//     }
//   };


//   for (let C = range.s.c; C <= range.e.c; ++C) {
//     let len = 100;
//     let len_max = 400;
//     for (let R = range.s.r; R <= range.e.r; ++R) {
//       let cell = { c: C, r: R };
//       let cell_ref = XLSX.utils.encode_cell(cell);

//       if (wb.Sheets['Sheet1'][cell_ref]) {
//         if (R < titleNum + 1) {
//           wb.Sheets['Sheet1'][cell_ref].s = {
//             alignment: {
//               horizontal: 'center',
//               vertical: 'center'
//             },

//             fill: { fgColor: { rgb: "C0C0C0" } },
//           };
//         } else {
//           wb.Sheets['Sheet1'][cell_ref].s = {
//             alignment: {
//               horizontal: 'center',
//               vertical: 'center'
//             },
//           };
//         }


//         let va = wb.Sheets['Sheet1'][cell_ref].v;
//         let chineseChars = va.match(/[\u4e00-\u9fa5]/g) || [];
//         let nonChineseChars = va.replace(/([^\u0000-\u00FF])/g, '').length;
//         let st = (chineseChars.length * 20) + (nonChineseChars * 10);

//         if (st > len) {
//           len = st;
//         }
//       }
//     }
//     if (len > len_max) {
//       len = len_max;
//     }
//     cWidth.push({ 'wpx': len });
//   }
//   wb.Sheets['Sheet1']['!cols'] = cWidth;


//   const wbout = XLSXStyle.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });


//   try {
//     saveAs(new Blob([s2ab(wbout)], { type: '' }), `${fileName}.xlsx`);
//   } catch (e) {
//     if (typeof console !== 'undefined') {
//       console.log(e, wbout);
//     }
//   }
//   return wbout;
// }
